I need to create OSLC links through DXL. I tried looking through this post (https://www.ibm.com/developerworks/community/forums/html/topic?id=d0c55334-821c-4d74-ab68-dbc6e81d0f87&ps=25) but the file mentioned in the post is encrypted in our DOORS installation. The DXL Reference Manual isn't helping either. Is it even possible to create a OSLC link to RQM/RM/RTC? Any help would be appreciated? dhars_priya - Tue May 24 06:39:16 EDT 2016 |
Re: How to create OSLC links through dxl? Are you using Doors Web Access |
Re: How to create OSLC links through dxl? DOORSHAM - Tue May 24 07:54:23 EDT 2016 Are you using Doors Web Access Yes we are using web access. But we are trying to create OSLC links through DXL in DOORS client
|
Re: How to create OSLC links through dxl? dhars_priya - Tue May 24 07:56:47 EDT 2016 Yes we are using web access. But we are trying to create OSLC links through DXL in DOORS client
9.3 version of mention script is unencrypted and here it is
// Licensed Materials - Property of IBM - some unique copyrights (i.e., the ability
DBE createNewLink_ServiceTypeFrame Skip createNewLink_CreatableProvidersByType = null const int createNewLink_ExternalLinkChoice = 0 bool createNewLink_SelectionMade = false OSLCServiceProvider createNewLink_ServiceProviderChoice = null bool createNewLink_HasProviders
// Maps the choices of the radio box, createNewLink_ServiceTypeSelector, to const int createNewLink_ProviderListWidth = 400 const int createNewLink_ProviderListRows = 12
if (!null createNewLink_ServiceTypeChoices)
int choiceNum = createNewLink_ExternalLinkChoice + 1
int providerNum = 0
Skip providers
OSLCLinkType selectedType
return null
hide createNewLink_DB
OSLCLinkType serviceType = createNewLink_GetSelectedLinkType()
hide createNewLink_DB
if (createNewLink_HasProviders)
// Create an array for the radio box's choices
//
createNewLink_ServiceTypeFrame = frame(createNewLink_DB, LS_("String_Select_the_type_of_link_that_you_want_to_create", NLSTEMP_("Select the type of link that you want to create:")))
createNewLink_HelpButton = button(createNewLink_DB, LS_("String_Help", NLSTEMP_("Help")), createNewLink_HelpCB, styleStandardSize)
//
createNewLink_ServiceTypeFrame->(NLS_("top"))->(NLS_("form"))
createNewLink_ServiceTypeSelector->(NLS_("top"))->(NLS_("inside"))->createNewLink_ServiceTypeFrame
createNewLink_ServiceProviderList->(NLS_("top"))->(NLS_("spaced"))->createNewLink_ServiceTypeFrame
createNewLink_HelpButton->(NLS_("top"))->(NLS_("spaced"))->createNewLink_ServiceProviderList
createNewLink_CancelButton->(NLS_("top"))->(NLS_("spaced"))->createNewLink_ServiceProviderList
createNewLink_OkButton->(NLS_("top"))->(NLS_("spaced"))->createNewLink_ServiceProviderList
set(createNewLink_ServiceTypeSelector, createNewLink_ServiceTypeCB)
// Removes the built-in cancel button (?)
// Present the dialog box
//
destroy createNewLink_DB
if (!null createNewLink_CreatableProvidersByType)
if (createNewLink_SelectionMade) |
Re: How to create OSLC links through dxl? And I'm guessing OSLC links have been set up between doors and RQM/RM/RTC as there is a setup that you need to do before hand. |
Re: How to create OSLC links through dxl?
The functions related to HTTP requests are documented in DXL Reference Manual (under Chapter 36, titled HTTP Server).
As I mention in the other thread, there are 2 parts to creating an OSLC link: Creating a link in DOORS object is similar to creating an external link. The primary difference is setting the linkType, which should be one of the OSLC Link type (Validated By/Implemented By). These should be specified as represented by their namespace. Best is to check the linkType of an existing OSLC Link, so you know exactly what's required. Creating a backlink in the target external artifact will require you to perform a GET first on it, update the body with appropriate link information and performing a PUT. Hope that helps. |
Re: How to create OSLC links through dxl?
@SudarshanRao 7be9e89d-5964-4067-a24d-80626cf7dbdf , Thanks for the update. But backlink is not created from DOORS to RTC. If we use External links , it is not displaying the workitem details as do through manually. Is there any other way to create the OSLC link from DOORS to RTC.
createNewLink.inc does not give us any clue how to create OSLC links. I think may be tha clue will be available in editCollaboration.inc file |
Re: How to create OSLC links through dxl? dhars_priya - Tue Jun 07 02:49:58 EDT 2016
@SudarshanRao 7be9e89d-5964-4067-a24d-80626cf7dbdf , Thanks for the update. But backlink is not created from DOORS to RTC. If we use External links , it is not displaying the workitem details as do through manually. Is there any other way to create the OSLC link from DOORS to RTC.
createNewLink.inc does not give us any clue how to create OSLC links. I think may be tha clue will be available in editCollaboration.inc file @dhars_priya b528bc91-ae36-433f-aceb-8bfd35804592, External Link is what you need to create in DOORS. Did you set the link type? Here's what you would need to do: string implementedByNamespace = "http://open-services.net/ns/rm#implementedBy" string title, desc //title and desc of link; built-in functionality uses title of WI for both string rtcURL //URL of the WI ExternalLink el Object o = current create(o, title, desc, outward, openAsURL, rtcURL, el) linkType(el, implementedByNamespace) I assume you're creating both links (in DOORS and in RTC) from within DOORS using DXL. |
Re: How to create OSLC links through dxl? SudarshanRao - Thu Jun 09 22:46:08 EDT 2016 @dhars_priya b528bc91-ae36-433f-aceb-8bfd35804592, External Link is what you need to create in DOORS. Did you set the link type? Here's what you would need to do: string implementedByNamespace = "http://open-services.net/ns/rm#implementedBy" string title, desc //title and desc of link; built-in functionality uses title of WI for both string rtcURL //URL of the WI ExternalLink el Object o = current create(o, title, desc, outward, openAsURL, rtcURL, el) linkType(el, implementedByNamespace) I assume you're creating both links (in DOORS and in RTC) from within DOORS using DXL. Hi, We are able to create link from DOORS to RTC and backlink we have created. DOORS to RQM also done. Thanks for your help @SudarshanRao.
We are getting the following error while performing put
the uploaded content does not consist of well-formed XML or does not match the XML schema for testcase</ns2:message><ns2:trace>javax.xml.bind.UnmarshalException We tried adding if match header in the header part like this. add(header,"If-Match","_3TZU50dQEea1m63qAVdzvw\")
Still we are getting the same error
Also is it required to add if match header while performing put. If so please provide the details. |
Re: How to create OSLC links through dxl? dhars_priya - Fri Jul 15 08:06:38 EDT 2016 Hi, We are able to create link from DOORS to RTC and backlink we have created. DOORS to RQM also done. Thanks for your help @SudarshanRao.
We are getting the following error while performing put
the uploaded content does not consist of well-formed XML or does not match the XML schema for testcase</ns2:message><ns2:trace>javax.xml.bind.UnmarshalException We tried adding if match header in the header part like this. add(header,"If-Match","_3TZU50dQEea1m63qAVdzvw\")
Still we are getting the same error
Also is it required to add if match header while performing put. If so please provide the details. Yes, If-Match header is required whenever you are updating a resource. Value will be Etag header from the response of previous GET on the resource. But I doubt if the error is really due to If-Match header. Maybe you should validate the RDF/XML content used for PUT in some validator to check if there's anything missing. |
Re: How to create OSLC links through dxl? Hi @SudarshanRao 7be9e89d-5964-4067-a24d-80626cf7dbdf, I want to create links from 9.6 DOORS classic to RQM automatically. So i have an attirubte with the ID of the test case for each object. how do i change the below code, so that it allows me to create links. I know it will be "ValidateBy" link type, but what will be the parameters for the create function?
string implementedByNamespace = "http://open-services.net/ns/rm#validatedBy" |
Re: How to create OSLC links through dxl? Also a big question for me is: Is it possible to create link from RQM to DOORS Classic 9.6? |
Re: How to create OSLC links through dxl? Gsquare - Mon Aug 21 01:16:12 EDT 2017 Hi @SudarshanRao 7be9e89d-5964-4067-a24d-80626cf7dbdf, I want to create links from 9.6 DOORS classic to RQM automatically. So i have an attirubte with the ID of the test case for each object. how do i change the below code, so that it allows me to create links. I know it will be "ValidateBy" link type, but what will be the parameters for the create function?
string implementedByNamespace = "http://open-services.net/ns/rm#validatedBy" The code will likely remain pretty much the same, except having to change the namspace URI, which you have done already. You can assign the Test Case URL to variable rtcURL, and provide values for title and description variables. Now, if you would like to assign a title/description based on associated Test Case, then you'll need to perform a GET, which will return RDF representation of the artifact, parse it and get the Title/description. Another point to note - from v9.6.1.4, there's a slight change in the way links are created for RQM. It uses Link Discovery approach - where the link is written into only one application (no backlink). So the other application will "discover" links from the source application in run-time and display the same. You can read more from Backlinks and Link Discovery section in DOORS Knowledge Center. So you don't really need to worry about updating Test Case with a link pointing back to DOORS object. To enable this Link Discovery for RQM, you need to set the Minimum Client Version for DOORS Clients to be 9.6.1.4 (in Database Properties). Hope that helps. |
Re: How to create OSLC links through dxl? SudarshanRao - Mon Aug 21 08:01:32 EDT 2017 The code will likely remain pretty much the same, except having to change the namspace URI, which you have done already. You can assign the Test Case URL to variable rtcURL, and provide values for title and description variables. Now, if you would like to assign a title/description based on associated Test Case, then you'll need to perform a GET, which will return RDF representation of the artifact, parse it and get the Title/description. Another point to note - from v9.6.1.4, there's a slight change in the way links are created for RQM. It uses Link Discovery approach - where the link is written into only one application (no backlink). So the other application will "discover" links from the source application in run-time and display the same. You can read more from Backlinks and Link Discovery section in DOORS Knowledge Center. So you don't really need to worry about updating Test Case with a link pointing back to DOORS object. To enable this Link Discovery for RQM, you need to set the Minimum Client Version for DOORS Clients to be 9.6.1.4 (in Database Properties). Hope that helps. Thanks for the info. I was able to create links using the code. But why does it not show any data on selecting the link. As it does on creating manually? |
Re: How to create OSLC links through dxl? SudarshanRao - Mon Aug 21 08:01:32 EDT 2017 The code will likely remain pretty much the same, except having to change the namspace URI, which you have done already. You can assign the Test Case URL to variable rtcURL, and provide values for title and description variables. Now, if you would like to assign a title/description based on associated Test Case, then you'll need to perform a GET, which will return RDF representation of the artifact, parse it and get the Title/description. Another point to note - from v9.6.1.4, there's a slight change in the way links are created for RQM. It uses Link Discovery approach - where the link is written into only one application (no backlink). So the other application will "discover" links from the source application in run-time and display the same. You can read more from Backlinks and Link Discovery section in DOORS Knowledge Center. So you don't really need to worry about updating Test Case with a link pointing back to DOORS object. To enable this Link Discovery for RQM, you need to set the Minimum Client Version for DOORS Clients to be 9.6.1.4 (in Database Properties). Hope that helps. @SudarshanRao 7be9e89d-5964-4067-a24d-80626cf7dbdf: Could you please help me with the solution for why if using the below code i create validated by links, it creates a static link and i need to follow the link to get any details about the test case. But manually when i create the link using Link->New ValidatedBy it creates a link, which on mouse hover displays data of the test case? Note: I am using doors classic 9.6.1.3 version for this and not DWA
string implementedByNamespace = "http://open-services.net/ns/rm#validatedBy"
@dhars_priya b528bc91-ae36-433f-aceb-8bfd35804592:In your replies you had mentioned the same issue. How did you solve it? Please help. Thanks |